package com.rybbaby.tss.front.tssMemberAttendClassRecord.entity;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;

/**
 * @description 会员报班记录表
 *
 * @author 雷春琼
 *
 * @createDate 2017-08-24 下午2:43:28
 */
@Entity
@Table(name = "tss_member_attend_class_record")
@DynamicUpdate(true)
@DynamicInsert(true)
public class TssMemberAttendClassRecord implements Serializable {

	private static final long serialVersionUID = 321501014058281L;

	/** 主键 **/
	private String id;
	/** 会员Id **/
	private String memberId;
	/** 会员课时包Id **/
	private String memberPackageId;
	/** 班级Id **/
	private String lessonsId;
	/** 创建时间 **/
	private java.sql.Timestamp createTime;
	/** 版本 **/
	private Integer version;
	/** 报班类型 **/
	private Integer type;

	/**
	 * 学生报班状态
	 */
	private Integer status;

	/**
	 * 是否上课
	 */
	private Boolean isAttendClass;
	/**
	 * 是否退节
	 */
	private Boolean isReturnSection;
	/**
	 *正课课时
	 */
	private Integer formalClass;
	/**
	 * 增课课时
	 */
	private Integer giftClass;
	/**
	 * 补课课时
	 */
	private Integer remedialClass;

	/**
	 * 方法: 取得主键
	 *
	 * @return java.lang.Integer 主键
	 */
	@Id
	@GeneratedValue(generator = "tss_member_attend_class_recordIDGenerator" , strategy = GenerationType.AUTO)
	@GenericGenerator(name = "tss_member_attend_class_recordIDGenerator" , strategy = "uuid")
	@Column(name = "id", nullable= false, length = 32)
	public String getId() {
		return this.id;
	}

	/**
	 * 方法: 设置主键
	 *
	 * @param id 主键
	 */
	public void setId(String id) {
		this.id = id;
	}




	/**
	 * 方法: 取得创建时间
	 *
	 * @return java.sql.Timestamp 创建时间
	 */
	@Column(name = "createTime", nullable= true, length = 19)
	public java.sql.Timestamp getCreateTime() {
		return this.createTime;
	}

	/**
	 * 方法: 设置创建时间
	 *
	 * @param createTime 创建时间
	 */
	public void setCreateTime(java.sql.Timestamp createTime) {
		this.createTime = createTime;
	}

	/**
	 * 方法: 取得版本
	 *
	 * @return java.lang.Integer 版本
	 */
	@Version
	@Column(name = "version", nullable= true, length = 11)
	public Integer getVersion() {
		return this.version;
	}

	/**
	 * 方法: 设置版本
	 *
	 * @param version 版本
	 */
	public void setVersion(Integer version) {
		this.version = version;
	}

	/**
	 * 方法: 取得报班类型
	 *
	 * @return java.lang.Integer 报班类型
	 */
	@Column(name = "type", nullable= true, length = 11)
	public Integer getType() {
		return this.type;
	}

	/**
	 * 方法: 设置报班类型
	 *
	 * @param type 报班类型
	 */
	public void setType(Integer type) {
		this.type = type;
	}



	@Column(name = "status", nullable= true, length = 11)
	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	@Column(name = "isAttendClass", nullable= true, length = 1)
	public Boolean getIsAttendClass() {
		return this.isAttendClass;
	}

	public void setIsAttendClass(Boolean isAttendClass) {
		this.isAttendClass = isAttendClass;
	}
	@Column(name = "isReturnSection", nullable= true, length = 1)
	public Boolean getIsReturnSection() {
		return this.isReturnSection;
	}

	public void setIsReturnSection(Boolean isReturnSection) {
		this.isReturnSection = isReturnSection;
	}

	@Column(name = "memberId", nullable= true, length = 32)
	public String getMemberId() {
		return memberId;
	}

	/**
	 * 获取会员Id
	 * @param memberId
	 */
	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	@Column(name = "memberPackageId", nullable= true, length = 32)
	public String getMemberPackageId() {
		return memberPackageId;
	}

	public void setMemberPackageId(String memberPackageId) {
		this.memberPackageId = memberPackageId;
	}

	/**
	 * 获取课节Id
	 * @return
	 */
	@Column(name = "lessonsId", nullable= true, length = 32)
	public String getLessonsId() {
		return lessonsId;
	}

	public void setLessonsId(String lessonsId) {
		this.lessonsId = lessonsId;
	}


	@Column(name = "formalClass", nullable= true, length = 11)
	public Integer getFormalClass() {
		return formalClass;
	}

	public void setFormalClass(Integer formalClass) {
		this.formalClass = formalClass;
	}
	@Column(name = "giftClass", nullable= true, length = 11)
	public Integer getGiftClass() {
		return giftClass;
	}

	public void setGiftClass(Integer giftClass) {
		this.giftClass = giftClass;
	}
	@Column(name = "remedialClass", nullable= true, length = 11)
	public Integer getRemedialClass() {
		return remedialClass;
	}

	public void setRemedialClass(Integer remedialClass) {
		this.remedialClass = remedialClass;
	}
}